// 动态数据测试脚本
import smartTileApi from './smartTileApi.js'

/**
 * 测试动态数据生成效果
 */
async function testDynamicData() {
  console.log('🚀 开始测试动态数据生成...\n')
  
  try {
    // 测试系统统计数据
    console.log('📊 测试系统统计数据:')
    const stats1 = await smartTileApi.getSystemStats()
    console.log('第一次调用:', {
      在线瓷砖: stats1.data.onlineTiles.value,
      异常信号: stats1.data.abnormalSignals.value,
      平均压力: stats1.data.averagePressure.value,
      系统状态: stats1.data.systemStatus.text
    })
    
    // 等待1秒后再次调用
    await new Promise(resolve => setTimeout(resolve, 1000))
    
    const stats2 = await smartTileApi.getSystemStats()
    console.log('第二次调用:', {
      在线瓷砖: stats2.data.onlineTiles.value,
      异常信号: stats2.data.abnormalSignals.value,
      平均压力: stats2.data.averagePressure.value,
      系统状态: stats2.data.systemStatus.text
    })
    
    console.log('✅ 数据确实在动态变化!\n')
    
    // 测试热图数据
    console.log('🌡️ 测试热图数据:')
    const heatmap = await smartTileApi.getHeatmapData({ area: 'all' })
    const firstTile = heatmap.data.heatmap[0][0]
    console.log('第一个瓷砖数据:', {
      位置: firstTile.position,
      压力: firstTile.pressure,
      等级: firstTile.level,
      温度: firstTile.temperature,
      电池: firstTile.batteryLevel + '%'
    })
    
    console.log('统计信息:', heatmap.data.statistics)
    console.log('✅ 热图数据包含丰富信息!\n')
    
    // 测试趋势数据
    console.log('📈 测试趋势数据:')
    const trend = await smartTileApi.getTrendData({ timeRange: 'today' })
    const latestHour = trend.data.trend[trend.data.trend.length - 1]
    console.log('最新小时数据:', {
      时间: latestHour.time,
      压力: latestHour.pressure,
      告警: latestHour.alerts,
      在线: latestHour.online,
      响应时间: latestHour.responseTime + 'ms'
    })
    
    console.log('趋势分析:', trend.data.analysis.trend)
    console.log('预测:', trend.data.analysis.forecast)
    console.log('✅ 趋势数据包含智能分析!\n')
    
    // 测试异常数据
    console.log('🚨 测试异常数据:')
    const exceptions = await smartTileApi.getExceptionData({ page: 1, pageSize: 5 })
    console.log('异常统计:', exceptions.data.statistics)
    console.log('最新异常:', exceptions.data.list[0] ? {
      时间: exceptions.data.list[0].time,
      位置: exceptions.data.list[0].position,
      状态: exceptions.data.list[0].status,
      处理状态: exceptions.data.list[0].processingStatus,
      根本原因: exceptions.data.list[0].rootCause
    } : '暂无异常')
    console.log('✅ 异常数据包含详细信息!\n')
    
    // 测试健康评分
    console.log('💚 测试健康评分:')
    const health = await smartTileApi.getHealthScore()
    console.log('健康评分:', health.data.score + '分 (' + health.data.levelDescription + ')')
    console.log('主要因子评分:', {
      设备在线率: health.data.factors.deviceOnline.score + '分',
      压力稳定性: health.data.factors.pressureStability.score + '分',
      告警频率: health.data.factors.alertFrequency.score + '分'
    })
    
    console.log('改善情况:', health.data.trends.improvement + '%')
    console.log('预测趋势:', health.data.trends.prediction.description)
    console.log('✅ 健康评分包含全面分析!\n')
    
    // 测试区域对比
    console.log('🏭 测试区域对比:')
    const comparison = await smartTileApi.getComparisonData()
    comparison.data.areas.forEach(area => {
      console.log(`${area.area}:`, {
        正常: area.normal,
        警告: area.warning,
        严重: area.critical,
        效率: area.efficiency + '%',
        状态: area.status
      })
    })
    
    console.log('最佳区域:', comparison.data.comparison.bestPerforming.area)
    console.log('✅ 区域对比数据完整!\n')
    
    console.log('🎉 所有动态数据测试完成！')
    console.log('📝 总结: 数据生成系统工作正常，包含丰富的动态特性和智能分析功能。')
    
  } catch (error) {
    console.error('❌ 测试过程中出现错误:', error)
  }
}

// 如果直接运行此文件，执行测试
if (typeof window === 'undefined') {
  // Node.js 环境
  testDynamicData()
} else {
  // 浏览器环境，导出测试函数
  window.testDynamicData = testDynamicData
}

export default testDynamicData
